package com.ctsi.framework.mybatis.dialect;

import java.sql.PreparedStatement;
import java.sql.SQLException;


/**
 * 类似hibernate的Dialect,但只精简出分页部分
 * @author zhangjw
 */
public interface Dialect {


	
	/**
	 * 设置分页参数
	 * @param ps
	 * @param parameterSize
	 * @param offset
	 * @param limit
	 * @throws SQLException
	 */
    void setLimitParamters(PreparedStatement ps, int parameterSize, int offset, int limit) throws SQLException;

	/**
	 * 获得分页语句
	 * @param sql
	 * @param offset  offset >=0
	 * @return
	 */
    String getLimitString(String sql, int offset);
	
	/**
	 * 是否支持数据集偏移量
	 * @return
	 */
    boolean supportsLimitOffset();
	
	
	/**
	 * 参数顺序
	 * @return true 在开始 false 在结束
	 */
    boolean bindLimitParametersFirst();
   
}
